DisposeRgn should be used in your "CloseStack" script to remove the button descriptions from memory. When it does this, it also sets <handle> to EMPTY. This make is easier to determine when buttons have been allocated or not.
Note: This routine MUST be called, or strange things may happen. If you don't call it, a block of memory will be lost, floating around in memory, getting in HyperCard's way and making it angry.